package leetcode; /**
 * description:
 * author:张腾
 * date:2021-07-26
 */

/**
 * 给定两个字符串形式的非负整数num1 和num2，计算它们的和。
 *
 * 提示：
 *
 * num1 和num2的长度都小于 5100
 * num1 和num2 都只包含数字0-9
 * num1 和num2 都不包含任何前导零
 * 你不能使用任何內建 BigInteger 库，也不能直接将输入的字符串转换为整数形式
 */
public class leetcode415 {
    public String addStrings(String num1, String num2) {
        StringBuilder sb = new StringBuilder();

        int n1 = num1.length()-1, n2 = num2.length()-1;
        int flag = 0;
        while (n1>=0 || n2>=0){
            int a = n1>=0? num1.charAt(n1)-'0':0;
            int b = n2>=0? num2.charAt(n2)-'0':0;
            int tmp = a+b+flag;
            flag = tmp/10;
            sb.append(tmp%10);
            n1--; n2--;
        }
        if (flag==1) sb.append("1");
        return sb.reverse().toString();
    }

}
